/**
 * 1.setTimeout
 * ①使用非箭头函数，默认的是全局window
 */
setTimeout(function () {
  console.log('===setTimeout===', this)//window
}, 1000)

setTimeout(() => {
  console.log('===setTimeout===', this)
}, 1000)

/**
 * 2.数组的forEach
 *  ①使用非箭头函数，可以通过第二个参数显示绑定this
 *  ②如果使用箭头函数则不会绑定
 */
var names = ['abc', 'cba', 'nba']
names.forEach(function (item) {
  console.log(this) //window
})

var obj = {
  name: 'lijing',
  age: 19
}
names.forEach(function (item) {
  console.log(this) //obj对象
}, obj)
names.forEach(() => {
  console.log(this) //window
}, obj)

/**
 * 3.div的点击
 * 类似调用的是box.onclick()
 *
 */
const box = document.querySelector('.box')
console.log(box);
box.onclick = function () {
  console.log(this) //box
}
